home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / comm / tcp / Socks5.lha / Socks5 / src / include / system.h < prev    next >
C/C++ Source or Header  |  1999-03-10  |  3KB  |  80 lines

  1. /* Copyright (c) 1995-1999 NEC USA, Inc.  All rights reserved.               */
  2. /*                                                                           */
  3. /* The redistribution, use and modification in source or binary forms of     */
  4. /* this software is subject to the conditions set forth in the copyright     */
  5. /* document ("Copyright") included with this distribution.                   */
  6.  
  7. /*
  8.  * $Id: system.h,v 1.20.4.5 1999/02/03 22:34:56 steve Exp $
  9.  */
  10.  
  11. #ifndef SYSTEM_H
  12. #define SYSTEM_H
  13.  
  14. #ifdef IN_LIBRARY
  15. #ifdef HAVE_DLOPEN
  16.  
  17. /* If we're building the shared library, we need to be able to call the      */
  18. /* "real" functions using dl*.  These are the stubs for those functions.     */
  19. #ifdef FOR_SHARED_LIBRARY
  20.  
  21. #define REAL(x)       _RLD_ ## x
  22. #define LIBPREFIX(x)  x
  23.  
  24. struct hostent * REAL(gethostbyname) P((const char *));
  25. struct hostent * REAL(gethostbyaddr) P((const void *, int, int));
  26. struct servent * REAL(getservbyname) P((const char *, const char *)); 
  27.  
  28. int              REAL(getpeername)  P((S5IOHandle, struct sockaddr *, int *));
  29. int              REAL(getsockname)  P((S5IOHandle, struct sockaddr *, int *));
  30.  
  31. int              REAL(bind)         P((S5IOHandle, const struct sockaddr *, int));
  32. int              REAL(connect)      P((S5IOHandle, const struct sockaddr *, int));
  33. int              REAL(accept)       P((S5IOHandle, struct sockaddr *, int *));
  34. int              REAL(listen)       P((S5IOHandle, int));
  35.  
  36. int              REAL(select)       P((S5IOHandle, fd_set *, fd_set *, fd_set *, struct timeval *));
  37. int              REAL(rresvport)    P((int *));
  38.  
  39. IORETTYPE        REAL(read)         P((S5IOHandle,       IOPTRTYPE, IOLENTYPE));
  40. IORETTYPE        REAL(write)        P((S5IOHandle, const IOPTRTYPE, IOLENTYPE));
  41. IORETTYPE        REAL(recv)         P((S5IOHandle,       IOPTRTYPE, IOLENTYPE, int));
  42. IORETTYPE        REAL(send)         P((S5IOHandle, const IOPTRTYPE, IOLENTYPE, int));
  43. IORETTYPE        REAL(recvfrom)     P((S5IOHandle,       IOPTRTYPE, IOLENTYPE, int,       struct sockaddr *, int *));
  44. IORETTYPE        REAL(sendto)       P((S5IOHandle, const IOPTRTYPE, IOLENTYPE, int, const struct sockaddr *, int));
  45.  
  46. #ifdef HAVE_SENDMSG
  47. IORETTYPE        REAL(recvmsg)     P((S5IOHandle,const struct msghdr *, int ));
  48. IORETTYPE        REAL(sendmsg)     P((S5IOHandle,const struct msghdr *, int ));
  49. #endif
  50.  
  51. S5IOHandle       REAL(dup)          P((S5IOHandle));
  52. S5IOHandle       REAL(dup2)         P((S5IOHandle, S5IOHandle));
  53.  
  54. struct tm *      REAL(localtime)    P((const time_t *));
  55. void             REAL(longjmp)      P((jmp_buf, int));
  56. int              REAL(fclose)       P((FILE *));
  57. int              REAL(close)        P((S5IOHandle));
  58. int              REAL(shutdown)     P((S5IOHandle, int));
  59.  
  60. #endif /* FOR_SHARED_LIBRARY */
  61. #endif /* HAVE_DLOPEN        */
  62. #endif /* IN_LIBRARY         */
  63.  
  64. #ifndef REAL
  65. #define REAL(x) x
  66. #endif
  67.  
  68. #ifdef USE_SOCKS4_PREFIX
  69. #define LIBPREFIX2(x)  R ## x
  70. #else
  71. #define LIBPREFIX2(x)  SOCKS ## x
  72. #endif
  73.  
  74. #ifndef LIBPREFIX
  75. #define LIBPREFIX(x) LIBPREFIX2(x)
  76. #endif
  77.  
  78. #endif
  79.  
  80.